Some systems employ a watchdog timer to detect when system functions have not completed within an expected period of time. The watchdog timer may be implemented as software executing on a processor. In order to avoid overloading the processor, the watchdog timer may be limited to monitoring high-level functions of the system. When the watchdog timer detects a failure of a function to complete within a prescribed period of time, a system reset may be triggered.
For some applications, a system reset may be acceptable. However, for other applications a system reset may be problematic. For example, in systems in which human safety is a concern, a system reset may be a major disruption and unacceptable. In addition, a system reset may result in the destruction of diagnostic information that might be useful in tracing the cause of a function to timely complete.